package cn.yh.register.order.service;

import cn.yh.register.model.order.OrderInfo;
import cn.yh.register.model.order.PaymentInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface PaymentService extends IService<PaymentInfo> {
    /**
     * 保存交易记录
     * @param orderInfo
     * @param paymentType 支付类型（1：支付宝 2：微信）
     */
    void savePaymentInfo(OrderInfo orderInfo, Integer paymentType);

    /**
     * 支付成功 更新交易记录 更新订单状态 对接医院系统
     * @param outTradeNo 订单号
     * @param paymentType 支付类型（1：支付宝 2：微信）
     * @param paramMap 微信接口返回的数据
     */
    void  paySuccess(String outTradeNo, Integer paymentType, Map<String,String> paramMap);

    /**
     * 查询交易记录
     * @param outTradeNo 订单号
     * @param paymentType 支付类型（1：支付宝 2：微信）
     * @return 交易记录
     */
    PaymentInfo getPaymentInfo(String outTradeNo, Integer paymentType);

    /**
     * 修改订单状态
     * @param outTradeNo 订单号
     * @param paymentInfo 交易记录
     */
    void updatePaymentInfo(String outTradeNo, PaymentInfo paymentInfo);


}
